package com.administrator.scoreManageSys.service;

import com.alibaba.fastjson.JSONObject;

/**
 * @author zsh
 * @date 2022/03/25/ 15:37
 */
public interface TeachCourseService {
    /**
     * 获取授课列表
     * @param pageNum 当前页
     * @param pageSize 页大小
     * @param teacherName 查询教师姓名
     * @return 授课列表
     */
    JSONObject courseList(Integer pageNum, Integer pageSize, String teacherName);

    /**
     * 添加授课信息
     * @param userId 操作用户id
     * @param classId 授课班级
     * @param subject 授课科目
     * @param teachUser 授课教师
     * @return 操作结果
     */
    JSONObject courseAdd(Long userId, Integer classId, Integer subject, Integer teachUser);

    /**
     * 根据id修改授课信息
     * @param id 授课id
     * @param classId 授课班级
     * @param subject 授课科目
     * @param teachUser 授课教师
     * @return 操作结果
     */
    JSONObject courseUpdate(Integer id, Integer classId, Integer subject,  Integer teachUser);

    /**
     * 根据id删除授课信息
     * @param id 授课信息id
     * @return 操作结果
     */
    JSONObject courseDelete(Integer id);

    /**
     * 添加考试课程信息
     * @param season 考季id
     * @param classId  班级id
     * @param subject 科目id
     * @param name 考试课程名称
     * @param userId 操作人id
     * @return 操作结果
     */
    JSONObject examAdd(Integer season, Integer classId, Integer subject, String name, Long userId);

    /**
     * 获取考试课程信息
     * @param pageNum 当前页
     * @param pageSize 页大小
     * @param season 考季id
     * @param subject 科目
     * @param name 考试名次
     * @return 课程列表
     */
    JSONObject examList(Integer pageNum, Integer pageSize, Integer season, Integer subject, String name);

    /**
     * 根据id修改考试管理
     * @param id 考试管理id
     * @param classId 班级id
     * @param subject 科目id
     * @param season 考季id
     * @param name 考试管理名
     * @return 操作结果
     */
    JSONObject examUpdate(Integer id, Integer classId, Integer subject, Integer season, String name);

    /**
     * 根据id删除考试管理
     * @param id 考试id
     * @return 操作结果
     */
    JSONObject examDelete(Integer id);

    /**
     * 添加任课教师信息
     * @param teacherId 教师id
     * @param subject 科目id
     * @param userId 操作人id
     * @return 操作结果
     */
    JSONObject theTeacherAdd(Integer teacherId, Integer subject, Long userId);

    /**
     * 获取任课教师信息列表
     * @param pageNum 当前页
     * @param pageSize 页大小
     * @param subject 科目
     * @param name 老师姓名
     * @return 列表
     */
    JSONObject theTeacherList(Integer pageNum, Integer pageSize, Integer subject, String name);

    /**
     * 修改任课教师信息
     * @param teacherId 任课教师id
     * @param subject 任课教师科目
     * @param id 修改id
     * @return 操作结果
     */
    JSONObject theTeacherUpdate(Integer teacherId, Integer subject, Integer id);

    /**
     * 删除任课教师
     * @param id 删除任课教师id
     * @return 操作结果
     */
    JSONObject theTeacherDelete(Integer id);
}
